GdkEvent *event;
event = gdk_event_new (GDK_GRAB_BROKEN);
- event->grab_broken.window = g_object_ref (window);
- event->grab_broken.send_event = FALSE;
+ event->any.window = g_object_ref (window);
+ event->any.send_event = FALSE;
event->grab_broken.implicit = implicit;
event->grab_broken.grab_window = grab_window;
gdk_event_set_device (event, device);
break;
if (pending_motion_window != NULL &&
- pending_motion_window != event->event.motion.window)
+ pending_motion_window != event->event.any.window)
break;
if (pending_motion_device != NULL &&
pending_motion_device != event->event.motion.device)
break;
- if (!event->event.motion.window->event_compression)
+ if (!event->event.any.window->event_compression)
break;
- pending_motion_window = event->event.motion.window;
- pending_motion_device = event->event.motion.device;
+ pending_motion_window = event->event.any.window;
+ pending_motion_device = event->motion.device;
pending_motions = tmp_list;
tmp_list = tmp_list->prev;
GdkDisplay *display;
GdkModifierType modifier;
- g_return_val_if_fail (GDK_IS_WINDOW (bevent->window), FALSE);
+ g_return_val_if_fail (GDK_IS_WINDOW (bevent->any.window), FALSE);
if (bevent->button == GDK_BUTTON_SECONDARY &&
! (bevent->state & (GDK_BUTTON1_MASK | GDK_BUTTON2_MASK)))
return TRUE;
- display = gdk_window_get_display (bevent->window);
+ display = gdk_window_get_display (bevent->any.window);
modifier = gdk_keymap_get_modifier_mask (gdk_keymap_get_for_display (display),
GDK_MODIFIER_INTENT_CONTEXT_MENU);
{
GdkEventPrivate *event = tmp_list->data;
- if (event->event.type == GDK_WINDOW_STATE &&
- event->event.window_state.window == window)
+ if (event->event.any.type == GDK_WINDOW_STATE &&
+ event->event.any.window == window)
return tmp_list;
}
g_return_if_fail (window != NULL);
- temp_event.window_state.window = window;
- temp_event.window_state.type = GDK_WINDOW_STATE;
- temp_event.window_state.send_event = FALSE;
+ temp_event.any.window = window;
+ temp_event.any.type = GDK_WINDOW_STATE;
+ temp_event.any.send_event = FALSE;
temp_event.window_state.new_window_state = new_state;
if (temp_event.window_state.new_window_state == window->state)
*/
struct _GdkEventExpose
{
- GdkEventType type;
- GdkWindow *window;
- gint8 send_event;
+ GdkEventAny any;
GdkRectangle area;
cairo_region_t *region;
gint count; /* If non-zero, how many more events follow. */
*/
struct _GdkEventMotion
{
- GdkEventType type;
- GdkWindow *window;
- gint8 send_event;
+ GdkEventAny any;
guint32 time;
gdouble x;
gdouble y;
*/
struct _GdkEventButton
{
- GdkEventType type;
- GdkWindow *window;
- gint8 send_event;
+ GdkEventAny any;
guint32 time;
gdouble x;
gdouble y;
*/
struct _GdkEventTouch
{
- GdkEventType type;
- GdkWindow *window;
- gint8 send_event;
+ GdkEventAny any;
guint32 time;
gdouble x;
gdouble y;
*/
struct _GdkEventScroll
{
- GdkEventType type;
- GdkWindow *window;
- gint8 send_event;
+ GdkEventAny any;
guint32 time;
gdouble x;
gdouble y;
*/
struct _GdkEventKey
{
- GdkEventType type;
- GdkWindow *window;
- gint8 send_event;
+ GdkEventAny any;
guint32 time;
guint state;
guint keyval;
*/
struct _GdkEventCrossing
{
- GdkEventType type;
- GdkWindow *window;
- gint8 send_event;
+ GdkEventAny any;
GdkWindow *subwindow;
guint32 time;
gdouble x;
*/
struct _GdkEventFocus
{
- GdkEventType type;
- GdkWindow *window;
- gint8 send_event;
+ GdkEventAny any;
gint16 in;
};
*/
struct _GdkEventConfigure
{
- GdkEventType type;
- GdkWindow *window;
- gint8 send_event;
+ GdkEventAny any;
gint x, y;
gint width;
gint height;
*/
struct _GdkEventProperty
{
- GdkEventType type;
- GdkWindow *window;
- gint8 send_event;
+ GdkEventAny any;
GdkAtom atom;
guint32 time;
guint state;
*/
struct _GdkEventProximity
{
- GdkEventType type;
- GdkWindow *window;
- gint8 send_event;
+ GdkEventAny any;
guint32 time;
GdkDevice *device;
};
*/
struct _GdkEventWindowState
{
- GdkEventType type;
- GdkWindow *window;
- gint8 send_event;
+ GdkEventAny any;
GdkWindowState changed_mask;
GdkWindowState new_window_state;
};
* Since: 2.8
*/
struct _GdkEventGrabBroken {
- GdkEventType type;
- GdkWindow *window;
- gint8 send_event;
+ GdkEventAny any;
gboolean keyboard;
gboolean implicit;
GdkWindow *grab_window;
* Generated during DND operations.
*/
struct _GdkEventDND {
- GdkEventType type;
- GdkWindow *window;
- gint8 send_event;
+ GdkEventAny any;
GdkDragContext *context;
guint32 time;
* Generated during touchpad swipe gestures.
*/
struct _GdkEventTouchpadSwipe {
- GdkEventType type;
- GdkWindow *window;
- gint8 send_event;
+ GdkEventAny any;
gint8 phase;
gint8 n_fingers;
guint32 time;
* Generated during touchpad swipe gestures.
*/
struct _GdkEventTouchpadPinch {
- GdkEventType type;
- GdkWindow *window;
- gint8 send_event;
+ GdkEventAny any;
gint8 phase;
gint8 n_fingers;
guint32 time;
* Since: 3.22
*/
struct _GdkEventPadButton {
- GdkEventType type;
- GdkWindow *window;
- gint8 send_event;
+ GdkEventAny any;
guint32 time;
guint group;
guint button;
* Since: 3.22
*/
struct _GdkEventPadAxis {
- GdkEventType type;
- GdkWindow *window;
- gint8 send_event;
+ GdkEventAny any;
guint32 time;
guint group;
guint index;
* Since: 3.22
*/
struct _GdkEventPadGroupMode {
- GdkEventType type;
- GdkWindow *window;
- gint8 send_event;
+ GdkEventAny any;
guint32 time;
guint group;
guint mode;
/* Paint the window before the children, clipped to the window region */
- event.expose.type = GDK_EXPOSE;
- event.expose.window = window; /* we already hold a ref */
- event.expose.send_event = FALSE;
+ event.any.type = GDK_EXPOSE;
+ event.any.window = window; /* we already hold a ref */
+ event.any.send_event = FALSE;
event.expose.count = 0;
event.expose.region = clipped_expose_region;
cairo_region_get_extents (clipped_expose_region, &event.expose.area);
GdkEvent *event;
event = gdk_event_new (type);
- event->crossing.window = window ? g_object_ref (window) : NULL;
+ event->any.window = window ? g_object_ref (window) : NULL;
event->crossing.subwindow = subwindow ? g_object_ref (subwindow) : NULL;
event->crossing.time = time_;
event->crossing.mode = mode;
GdkEvent *event;
event = gdk_event_new (type);
- event->crossing.window = window ? g_object_ref (window) : NULL;
+ event->any.window = window ? g_object_ref (window) : NULL;
event->crossing.subwindow = subwindow ? g_object_ref (subwindow) : NULL;
event->crossing.time = time_;
event->crossing.mode = mode;
GdkEvent *event;
event = gdk_event_new (GDK_FOCUS_CHANGE);
- event->focus_change.window = g_object_ref (window);
+ event->any.window = g_object_ref (window);
event->focus_change.in = focus_in;
gdk_event_set_device (event, device);
gdk_event_set_source_device (event, device);
GdkEvent *event;
event = gdk_event_new (GDK_SCROLL);
- event->scroll.window = g_object_ref (pointer_info->focus);
+ event->any.window = g_object_ref (pointer_info->focus);
gdk_event_set_device (event, device);
gdk_event_set_source_device (event, source_device);
event->scroll.time = pointer_info->time;
seat->pointer_info.enter_serial = serial;
event = gdk_wayland_seat_get_frame_event (seat, GDK_ENTER_NOTIFY);
- event->crossing.window = g_object_ref (seat->pointer_info.focus);
+ event->any.window = g_object_ref (seat->pointer_info.focus);
gdk_event_set_device (event, seat->master_pointer);
gdk_event_set_source_device (event, seat->pointer);
gdk_event_set_seat (event, gdk_device_get_seat (seat->master_pointer));
_gdk_wayland_display_update_serial (display_wayland, serial);
event = gdk_wayland_seat_get_frame_event (seat, GDK_LEAVE_NOTIFY);
- event->crossing.window = g_object_ref (seat->pointer_info.focus);
+ event->any.window = g_object_ref (seat->pointer_info.focus);
gdk_event_set_device (event, seat->master_pointer);
gdk_event_set_source_device (event, seat->pointer);
gdk_event_set_seat (event, GDK_SEAT (seat));
seat->pointer_info.surface_y = wl_fixed_to_double (sy);
event = gdk_wayland_seat_get_frame_event (seat, GDK_MOTION_NOTIFY);
- event->motion.window = g_object_ref (seat->pointer_info.focus);
+ event->any.window = g_object_ref (seat->pointer_info.focus);
gdk_event_set_device (event, seat->master_pointer);
gdk_event_set_source_device (event, seat->pointer);
gdk_event_set_seat (event, gdk_device_get_seat (seat->master_pointer));
event = gdk_wayland_seat_get_frame_event (seat,
state ? GDK_BUTTON_PRESS :
GDK_BUTTON_RELEASE);
- event->button.window = g_object_ref (seat->pointer_info.focus);
+ event->any.window = g_object_ref (seat->pointer_info.focus);
gdk_event_set_device (event, seat->master_pointer);
gdk_event_set_source_device (event, seat->pointer);
gdk_event_set_seat (event, gdk_device_get_seat (seat->master_pointer));
seat->repeat_key = 0;
event = gdk_event_new (GDK_FOCUS_CHANGE);
- event->focus_change.window = g_object_ref (seat->keyboard_focus);
- event->focus_change.send_event = FALSE;
+ event->any.window = g_object_ref (seat->keyboard_focus);
+ event->any.send_event = FALSE;
event->focus_change.in = TRUE;
gdk_event_set_device (event, seat->master_keyboard);
gdk_event_set_source_device (event, seat->keyboard);
_gdk_wayland_display_update_serial (display, serial);
event = gdk_event_new (GDK_FOCUS_CHANGE);
- event->focus_change.window = g_object_ref (seat->keyboard_focus);
- event->focus_change.send_event = FALSE;
+ event->any.window = g_object_ref (seat->keyboard_focus);
+ event->any.send_event = FALSE;
event->focus_change.in = FALSE;
gdk_event_set_device (event, seat->master_keyboard);
gdk_event_set_source_device (event, seat->keyboard);
seat->key_modifiers = gdk_keymap_get_modifier_state (keymap);
event = gdk_event_new (state ? GDK_KEY_PRESS : GDK_KEY_RELEASE);
- event->key.window = seat->keyboard_focus ? g_object_ref (seat->keyboard_focus) : NULL;
+ event->any.window = seat->keyboard_focus ? g_object_ref (seat->keyboard_focus) : NULL;
gdk_event_set_device (event, seat->master_keyboard);
gdk_event_set_source_device (event, seat->keyboard);
gdk_event_set_seat (event, GDK_SEAT (seat));
GdkEvent *event;
event = gdk_event_new (evtype);
- event->touch.window = g_object_ref (touch->window);
+ event->any.window = g_object_ref (touch->window);
gdk_event_set_device (event, seat->touch_master);
gdk_event_set_source_device (event, seat->touch);
gdk_event_set_seat (event, GDK_SEAT (seat));
event = gdk_event_new (GDK_TOUCHPAD_SWIPE);
event->touchpad_swipe.phase = phase;
- event->touchpad_swipe.window = g_object_ref (seat->pointer_info.focus);
+ event->any.window = g_object_ref (seat->pointer_info.focus);
gdk_event_set_device (event, seat->master_pointer);
gdk_event_set_source_device (event, seat->pointer);
gdk_event_set_seat (event, GDK_SEAT (seat));
event = gdk_event_new (GDK_TOUCHPAD_PINCH);
event->touchpad_pinch.phase = phase;
- event->touchpad_pinch.window = g_object_ref (seat->pointer_info.focus);
+ event->any.window = g_object_ref (seat->pointer_info.focus);
gdk_event_set_device (event, seat->master_pointer);
gdk_event_set_source_device (event, seat->pointer);
gdk_event_set_seat (event, GDK_SEAT (seat));
}
if (event->type == GDK_PROXIMITY_OUT)
- emulate_crossing (event->proximity.window, NULL,
+ emulate_crossing (event->any.window, NULL,
tablet->master, GDK_LEAVE_NOTIFY,
GDK_CROSSING_NORMAL, time);
event);
if (event->type == GDK_PROXIMITY_IN)
- emulate_crossing (event->proximity.window, NULL,
+ emulate_crossing (event->any.window, NULL,
tablet->master, GDK_ENTER_NOTIFY,
GDK_CROSSING_NORMAL, time);
}
gdk_wayland_mimic_device_axes (tablet->master, tablet->current_device);
event = gdk_wayland_tablet_get_frame_event (tablet, GDK_PROXIMITY_IN);
- event->proximity.window = g_object_ref (tablet->pointer_info.focus);
+ event->any.window = g_object_ref (tablet->pointer_info.focus);
gdk_event_set_device (event, tablet->master);
gdk_event_set_source_device (event, tablet->current_device);
gdk_event_set_device_tool (event, tool->tool);
gdk_device_tool_get_tool_type (tool->tool)));
event = gdk_wayland_tablet_get_frame_event (tablet, GDK_PROXIMITY_OUT);
- event->proximity.window = g_object_ref (tablet->pointer_info.focus);
+ event->any.window = g_object_ref (tablet->pointer_info.focus);
gdk_event_set_device (event, tablet->master);
gdk_event_set_source_device (event, tablet->current_device);
gdk_event_set_device_tool (event, tool->tool);
GdkEvent *event;
event = gdk_wayland_tablet_get_frame_event (tablet, evtype);
- event->button.window = g_object_ref (tablet->pointer_info.focus);
+ event->any.window = g_object_ref (tablet->pointer_info.focus);
gdk_event_set_device (event, tablet->master);
gdk_event_set_source_device (event, tablet->current_device);
gdk_event_set_device_tool (event, tablet->current_tool->tool);
tablet->pointer_info.surface_y));
event = gdk_wayland_tablet_get_frame_event (tablet, GDK_MOTION_NOTIFY);
- event->motion.window = g_object_ref (tablet->pointer_info.focus);
+ event->any.window = g_object_ref (tablet->pointer_info.focus);
gdk_event_set_device (event, tablet->master);
gdk_event_set_source_device (event, tablet->current_device);
gdk_event_set_device_tool (event, tool->tool);
g_message ("tablet pad ring handle frame, ring = %p", wp_tablet_pad_ring));
event = gdk_event_new (GDK_PAD_RING);
- g_set_object (&event->pad_axis.window, seat->keyboard_focus);
+ g_set_object (&event->any.window, seat->keyboard_focus);
event->pad_axis.time = time;
event->pad_axis.group = g_list_index (pad->mode_groups, group);
event->pad_axis.index = g_list_index (pad->rings, wp_tablet_pad_ring);
wp_tablet_pad_strip));
event = gdk_event_new (GDK_PAD_STRIP);
- g_set_object (&event->pad_axis.window, seat->keyboard_focus);
+ g_set_object (&event->any.window, seat->keyboard_focus);
event->pad_axis.time = time;
event->pad_axis.group = g_list_index (pad->mode_groups, group);
event->pad_axis.index = g_list_index (pad->strips, wp_tablet_pad_strip);
n_group = g_list_index (pad->mode_groups, group);
event = gdk_event_new (GDK_PAD_GROUP_MODE);
- g_set_object (&event->pad_button.window, seat->keyboard_focus);
+ g_set_object (&event->any.window, seat->keyboard_focus);
event->pad_group_mode.group = n_group;
event->pad_group_mode.mode = mode;
event->pad_group_mode.time = time;
event = gdk_event_new (state == ZWP_TABLET_PAD_V2_BUTTON_STATE_PRESSED ?
GDK_PAD_BUTTON_PRESS :
GDK_PAD_BUTTON_RELEASE);
- g_set_object (&event->pad_button.window, seat->keyboard_focus);
+ g_set_object (&event->any.window, seat->keyboard_focus);
event->pad_button.button = button;
event->pad_button.group = n_group;
event->pad_button.mode = group->current_mode;
window = gdk_drag_context_get_dest_window (context);
event = gdk_event_new (type);
- event->dnd.window = g_object_ref (window);
+ event->any.window = g_object_ref (window);
event->dnd.context = g_object_ref (context);
event->dnd.time = time_;
event->dnd.x_root = GDK_WAYLAND_DRAG_CONTEXT (context)->x;
GdkEvent *event;
event = gdk_event_new (GDK_CONFIGURE);
- event->configure.window = g_object_ref (window);
- event->configure.send_event = FALSE;
+ event->any.window = g_object_ref (window);
+ event->any.send_event = FALSE;
event->configure.width = width;
event->configure.height = height;
GdkKeymap *keymap = gdk_keymap_get_for_display (display);
GdkModifierType consumed, state;
- event->key.type = xevent->xany.type == KeyPress ? GDK_KEY_PRESS : GDK_KEY_RELEASE;
+ event->any.type = xevent->xany.type == KeyPress ? GDK_KEY_PRESS : GDK_KEY_RELEASE;
event->key.time = xevent->xkey.time;
gdk_event_set_device (event, device_manager->core_keyboard);
case 5: /* down */
case 6: /* left */
case 7: /* right */
- event->scroll.type = GDK_SCROLL;
+ event->any.type = GDK_SCROLL;
if (xevent->xbutton.button == 4)
event->scroll.direction = GDK_SCROLL_UP;
else
event->scroll.direction = GDK_SCROLL_RIGHT;
- event->scroll.window = window;
+ event->any.window = window;
event->scroll.time = xevent->xbutton.time;
event->scroll.x = (gdouble) xevent->xbutton.x / scale;
event->scroll.y = (gdouble) xevent->xbutton.y / scale;
break;
default:
- event->button.type = GDK_BUTTON_PRESS;
- event->button.window = window;
+ event->any.type = GDK_BUTTON_PRESS;
+ event->any.window = window;
event->button.time = xevent->xbutton.time;
event->button.x = (gdouble) xevent->xbutton.x / scale;
event->button.y = (gdouble) xevent->xbutton.y / scale;
break;
}
- event->button.type = GDK_BUTTON_RELEASE;
- event->button.window = window;
+ event->any.type = GDK_BUTTON_RELEASE;
+ event->any.window = window;
event->button.time = xevent->xbutton.time;
event->button.x = (gdouble) xevent->xbutton.x / scale;
event->button.y = (gdouble) xevent->xbutton.y / scale;
break;
}
- event->motion.type = GDK_MOTION_NOTIFY;
- event->motion.window = window;
+ event->any.type = GDK_MOTION_NOTIFY;
+ event->any.window = window;
event->motion.time = xevent->xmotion.time;
event->motion.x = (gdouble) xevent->xmotion.x / scale;
event->motion.y = (gdouble) xevent->xmotion.y / scale;
gdk_event_set_display (event, display);
- event->crossing.type = GDK_ENTER_NOTIFY;
- event->crossing.window = window;
+ event->any.type = GDK_ENTER_NOTIFY;
+ event->any.window = window;
gdk_event_set_device (event, device_manager->core_pointer);
/* If the subwindow field of the XEvent is non-NULL, then
gdk_event_set_display (event, display);
- event->crossing.type = GDK_LEAVE_NOTIFY;
- event->crossing.window = window;
+ event->any.type = GDK_LEAVE_NOTIFY;
+ event->any.window = window;
gdk_event_set_device (event, device_manager->core_pointer);
/* If the subwindow field of the XEvent is non-NULL, then
GdkEvent *event;
event = gdk_event_new (GDK_FOCUS_CHANGE);
- event->focus_change.window = g_object_ref (window);
- event->focus_change.send_event = FALSE;
+ event->any.window = g_object_ref (window);
+ event->any.send_event = FALSE;
event->focus_change.in = focus_in;
gdk_event_set_device (event, device);
if (source_device)
xev->sourceid,
xev->detail));
- event->key.type = xev->evtype == XI_KeyPress ? GDK_KEY_PRESS : GDK_KEY_RELEASE;
+ event->any.type = xev->evtype == XI_KeyPress ? GDK_KEY_PRESS : GDK_KEY_RELEASE;
- event->key.window = window;
+ event->any.window = window;
event->key.time = xev->time;
event->key.state = _gdk_x11_device_xi2_translate_state (&xev->mods, &xev->buttons, &xev->group);
(xev->detail >= 4 && xev->detail <= 7))
{
/* Button presses of button 4-7 are scroll events */
- event->scroll.type = GDK_SCROLL;
+ event->any.type = GDK_SCROLL;
if (xev->detail == 4)
event->scroll.direction = GDK_SCROLL_UP;
else
event->scroll.direction = GDK_SCROLL_RIGHT;
- event->scroll.window = window;
+ event->any.window = window;
event->scroll.time = xev->time;
event->scroll.x = (gdouble) xev->event_x / scale;
event->scroll.y = (gdouble) xev->event_y / scale;
}
else
{
- event->button.type = (ev->evtype == XI_ButtonPress) ? GDK_BUTTON_PRESS : GDK_BUTTON_RELEASE;
+ event->any.type = (ev->evtype == XI_ButtonPress) ? GDK_BUTTON_PRESS : GDK_BUTTON_RELEASE;
- event->button.window = window;
+ event->any.window = window;
event->button.time = xev->time;
event->button.x = (gdouble) xev->event_x / scale;
event->button.y = (gdouble) xev->event_y / scale;
event->button.axes = translate_axes (event->button.device,
event->button.x,
event->button.y,
- event->button.window,
+ event->any.window,
&xev->valuators);
if (gdk_device_get_mode (event->button.device) == GDK_MODE_WINDOW)
scroll_valuators_changed (GDK_X11_DEVICE_XI2 (source_device),
&xev->valuators, &delta_x, &delta_y))
{
- event->scroll.type = GDK_SCROLL;
+ event->any.type = GDK_SCROLL;
event->scroll.direction = GDK_SCROLL_SMOOTH;
if (delta_x == 0.0 && delta_y == 0.0)
xev->event, delta_x, delta_y));
- event->scroll.window = window;
+ event->any.window = window;
event->scroll.time = xev->time;
event->scroll.x = (gdouble) xev->event_x / scale;
event->scroll.y = (gdouble) xev->event_y / scale;
break;
}
- event->motion.type = GDK_MOTION_NOTIFY;
- event->motion.window = window;
+ event->any.type = GDK_MOTION_NOTIFY;
+ event->any.window = window;
event->motion.time = xev->time;
event->motion.x = (gdouble) xev->event_x / scale;
event->motion.y = (gdouble) xev->event_y / scale;
event->motion.axes = translate_axes (event->motion.device,
event->motion.x,
event->motion.y,
- event->motion.window,
+ event->any.window,
&xev->valuators);
if (gdk_device_get_mode (event->motion.device) == GDK_MODE_WINDOW)
xev->flags & XITouchEmulatingPointer ? "true" : "false"));
if (ev->evtype == XI_TouchBegin)
- event->touch.type = GDK_TOUCH_BEGIN;
+ event->any.type = GDK_TOUCH_BEGIN;
else if (ev->evtype == XI_TouchEnd)
- event->touch.type = GDK_TOUCH_END;
+ event->any.type = GDK_TOUCH_END;
- event->touch.window = window;
+ event->any.window = window;
event->touch.time = xev->time;
event->touch.x = (gdouble) xev->event_x / scale;
event->touch.y = (gdouble) xev->event_y / scale;
event->touch.axes = translate_axes (event->touch.device,
event->touch.x,
event->touch.y,
- event->touch.window,
+ event->any.window,
&xev->valuators);
if (gdk_device_get_mode (event->touch.device) == GDK_MODE_WINDOW)
xev->detail,
xev->flags & XITouchEmulatingPointer ? "true" : "false"));
- event->touch.window = window;
+ event->any.window = window;
event->touch.sequence = GUINT_TO_POINTER (xev->detail);
- event->touch.type = GDK_TOUCH_UPDATE;
+ event->any.type = GDK_TOUCH_UPDATE;
event->touch.time = xev->time;
event->touch.x = (gdouble) xev->event_x / scale;
event->touch.y = (gdouble) xev->event_y / scale;
event->touch.axes = translate_axes (event->touch.device,
event->touch.x,
event->touch.y,
- event->touch.window,
+ event->any.window,
&xev->valuators);
if (gdk_device_get_mode (event->touch.device) == GDK_MODE_WINDOW)
xev->deviceid, xev->sourceid,
xev->detail, xev->mode));
- event->crossing.type = (ev->evtype == XI_Enter) ? GDK_ENTER_NOTIFY : GDK_LEAVE_NOTIFY;
+ event->any.type = (ev->evtype == XI_Enter) ? GDK_ENTER_NOTIFY : GDK_LEAVE_NOTIFY;
event->crossing.x = (gdouble) xev->event_x / scale;
event->crossing.y = (gdouble) xev->event_y / scale;
event->crossing.time = xev->time;
event->crossing.focus = xev->focus;
- event->crossing.window = window;
+ event->any.window = window;
event->crossing.subwindow = gdk_x11_window_lookup_for_display (display, xev->child);
device = g_hash_table_lookup (device_manager->id_table,
return_val = FALSE;
else
{
- event->configure.type = GDK_CONFIGURE;
- event->configure.window = window;
+ event->any.type = GDK_CONFIGURE;
+ event->any.window = window;
event->configure.width = (xevent->xconfigure.width + window_impl->window_scale - 1) / window_impl->window_scale;
event->configure.height = (xevent->xconfigure.height + window_impl->window_scale - 1) / window_impl->window_scale;
if (window->event_mask & GDK_PROPERTY_CHANGE_MASK)
{
- event->property.type = GDK_PROPERTY_NOTIFY;
- event->property.window = window;
+ event->any.type = GDK_PROPERTY_NOTIFY;
+ event->any.window = window;
event->property.atom = gdk_x11_xatom_to_atom_for_display (display, xevent->xproperty.atom);
event->property.time = xevent->xproperty.time;
event->property.state = xevent->xproperty.state;
if (context_x11->drag_status == GDK_DRAG_STATUS_MOTION_WAIT)
context_x11->drag_status = GDK_DRAG_STATUS_DRAG;
- event->dnd.send_event = FALSE;
- event->dnd.type = GDK_DRAG_STATUS;
+ event->any.send_event = FALSE;
+ event->any.type = GDK_DRAG_STATUS;
event->dnd.context = context;
gdk_event_set_device (event, gdk_drag_context_get_device (context));
g_object_ref (context);
if (context_x11->version == 5)
context_x11->drop_failed = xevent->xclient.data.l[1] == 0;
- event->dnd.type = GDK_DROP_FINISHED;
+ event->any.type = GDK_DROP_FINISHED;
event->dnd.context = context;
gdk_event_set_device (event, gdk_drag_context_get_device (context));
g_object_ref (context);
context_x11->drag_status = GDK_DRAG_STATUS_DRAG;
temp_event = gdk_event_new (GDK_DRAG_STATUS);
- temp_event->dnd.window = g_object_ref (context->source_window);
- temp_event->dnd.send_event = TRUE;
+ temp_event->any.window = g_object_ref (context->source_window);
+ temp_event->any.send_event = TRUE;
temp_event->dnd.context = g_object_ref (context);
temp_event->dnd.time = GDK_CURRENT_TIME;
gdk_event_set_device (temp_event, gdk_drag_context_get_device (context));
xdnd_manage_source_filter (context, context->source_window, TRUE);
xdnd_read_actions (context_x11);
- event->dnd.type = GDK_DRAG_ENTER;
+ event->any.type = GDK_DRAG_ENTER;
event->dnd.context = context;
gdk_event_set_device (event, gdk_drag_context_get_device (context));
g_object_ref (context);
(display_x11->current_dest_drag->protocol == GDK_DRAG_PROTO_XDND) &&
(GDK_WINDOW_XID (display_x11->current_dest_drag->source_window) == source_window))
{
- event->dnd.type = GDK_DRAG_LEAVE;
+ event->any.type = GDK_DRAG_LEAVE;
/* Pass ownership of context to the event */
event->dnd.context = display_x11->current_dest_drag;
gdk_event_set_device (event, gdk_drag_context_get_device (event->dnd.context));
context_x11 = GDK_X11_DRAG_CONTEXT (context);
- event->dnd.type = GDK_DRAG_MOTION;
+ event->any.type = GDK_DRAG_MOTION;
event->dnd.context = context;
gdk_event_set_device (event, gdk_drag_context_get_device (context));
g_object_ref (context);
(GDK_WINDOW_XID (context->source_window) == source_window))
{
context_x11 = GDK_X11_DRAG_CONTEXT (context);
- event->dnd.type = GDK_DROP_START;
+ event->any.type = GDK_DROP_START;
event->dnd.context = context;
gdk_event_set_device (event, gdk_drag_context_get_device (context));
* the drag changed
*/
temp_event = gdk_event_new (GDK_DRAG_STATUS);
- temp_event->dnd.window = g_object_ref (context->source_window);
+ temp_event->any.window = g_object_ref (context->source_window);
/* We use this to signal a synthetic status. Perhaps
* we should use an extra field...
*/
- temp_event->dnd.send_event = TRUE;
+ temp_event->any.send_event = TRUE;
temp_event->dnd.context = g_object_ref (context);
temp_event->dnd.time = time;
context->action = 0;
temp_event = gdk_event_new (GDK_DRAG_STATUS);
- temp_event->dnd.window = g_object_ref (context->source_window);
- temp_event->dnd.send_event = FALSE;
+ temp_event->any.window = g_object_ref (context->source_window);
+ temp_event->any.send_event = FALSE;
temp_event->dnd.context = g_object_ref (context);
temp_event->dnd.time = time;
gdk_event_set_device (temp_event, gdk_drag_context_get_device (context));
state = event->state;
pointer = gdk_device_get_associated_device (gdk_event_get_device ((GdkEvent *) event));
- if (event->type == GDK_KEY_PRESS)
+ if (event->any.type == GDK_KEY_PRESS)
{
switch (event->keyval)
{
GdkX11Screen *x11_screen;
gboolean focus_in, had_focus;
- toplevel = _gdk_x11_window_get_toplevel (event->window);
- x11_screen = GDK_X11_SCREEN (GDK_WINDOW_SCREEN (event->window));
- focus_in = (event->type == GDK_ENTER_NOTIFY);
+ toplevel = _gdk_x11_window_get_toplevel (event->any.window);
+ x11_screen = GDK_X11_SCREEN (GDK_WINDOW_SCREEN (event->any.window));
+ focus_in = (event->any.type == GDK_ENTER_NOTIFY);
if (x11_screen->wmspec_check_window)
return;
GdkEvent *focus_event;
focus_event = gdk_event_new (GDK_FOCUS_CHANGE);
- focus_event->focus_change.window = g_object_ref (event->window);
- focus_event->focus_change.send_event = FALSE;
+ focus_event->any.window = g_object_ref (event->any.window);
+ focus_event->any.send_event = FALSE;
focus_event->focus_change.in = focus_in;
gdk_event_set_device (focus_event, gdk_event_get_device ((GdkEvent *) event));
- gdk_display_put_event (gdk_window_get_display (event->window), focus_event);
+ gdk_display_put_event (gdk_window_get_display (event->any.window), focus_event);
gdk_event_free (focus_event);
}
}
g_assert (evtype == GDK_ENTER_NOTIFY || evtype == GDK_LEAVE_NOTIFY);
event = gdk_event_new (evtype);
- event->crossing.send_event = TRUE;
- event->crossing.window = g_object_ref (real_event->any.window);
+ event->any.send_event = TRUE;
+ event->any.window = g_object_ref (real_event->any.window);
event->crossing.detail = GDK_NOTIFY_ANCESTOR;
event->crossing.mode = mode;
event->crossing.time = gdk_event_get_time (real_event);
if (event &&
(event->type == GDK_ENTER_NOTIFY ||
event->type == GDK_LEAVE_NOTIFY) &&
- event->crossing.window != NULL)
+ event->any.window != NULL)
{
/* Handle focusing (in the case where no window manager is running */
handle_focus_change (&event->crossing);
gtk_entry_get_icon_area (gtk_entry, icon->pos, &icon_area);
memset (&event, 0, sizeof (event));
- event.button.type = GDK_BUTTON_PRESS;
- event.button.window = gtk_widget_get_window (widget);
+ event.any.type = GDK_BUTTON_PRESS;
+ event.any.window = gtk_widget_get_window (widget);
event.button.button = 1;
- event.button.send_event = TRUE;
+ event.any.send_event = TRUE;
event.button.time = GDK_CURRENT_TIME;
event.button.x = icon_area.x;
event.button.y = icon_area.y;
gulong popup_menu_id;
new_event = gdk_event_copy ((GdkEvent *) event);
- g_object_unref (((GdkEventKey *) new_event)->window);
- ((GdkEventKey *) new_event)->window =
+ g_object_unref (((GdkEventKey *) new_event)->any.window);
+ ((GdkEventKey *) new_event)->any.window =
g_object_ref (gtk_widget_get_window (search_window));
gtk_widget_realize (search_window);
fevent = gdk_event_new (GDK_FOCUS_CHANGE);
- fevent->focus_change.type = GDK_FOCUS_CHANGE;
- fevent->focus_change.window = g_object_ref (window);
+ fevent->any.type = GDK_FOCUS_CHANGE;
+ fevent->any.window = g_object_ref (window);
fevent->focus_change.in = in;
gdk_event_set_device (fevent, device);
else if (event->type == GDK_MOTION_NOTIFY)
{
press = gdk_event_new (GDK_BUTTON_PRESS);
- press->button.window = g_object_ref (event->motion.window);
+ press->any.window = g_object_ref (event->any.window);
press->button.time = event->motion.time;
press->button.x = event->motion.x;
press->button.y = event->motion.y;
event = gdk_event_new (type);
- event->crossing.window = g_object_ref (window);
- event->crossing.send_event = TRUE;
+ event->any.window = g_object_ref (window);
+ event->any.send_event = TRUE;
event->crossing.subwindow = g_object_ref (window);
event->crossing.time = GDK_CURRENT_TIME;
gdk_device_get_position_double (device,
if (!_gtk_widget_is_toplevel (widget))
return FALSE;
- if (_gtk_widget_get_window (widget) != event->window)
+ if (_gtk_widget_get_window (widget) != event->any.window)
return TRUE;
/* If this is a gratuitous ConfigureNotify that's already
fevent = gdk_event_new (GDK_FOCUS_CHANGE);
- fevent->focus_change.type = GDK_FOCUS_CHANGE;
- fevent->focus_change.window = window;
+ fevent->any.type = GDK_FOCUS_CHANGE;
+ fevent->any.window = window;
if (window)
g_object_ref (window);
fevent->focus_change.in = in;